package utilidades;


import java.util.*;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Diana Radeva
 */
public class UFactory {

    private static Hashtable<String, Object> instancias = new Hashtable<String, Object>();

    public static Object getInstancia(String objName)
    {
         Object obj;
        try{
           obj = instancias.get(objName);
           if (obj == null)
           {
               //Archivo de referencias
               ResourceBundle rb = ResourceBundle.getBundle("propiedades.Factory");
               //Apartir del archivo obtenemos el nombre de la clase
               String sClassname = rb.getString(objName);
               //Instanciamos el objeto
               obj = Class.forName(sClassname).newInstance();
               //Agregar la instancia a la lista
               instancias.put(objName, obj);
           }
           return obj;
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
            throw new RuntimeException(ex);
        }
    }
}
